Displaying at least one categorized message based on a percentage

ABSTRACT

Displaying at least one categorized message based on a percentage includes retrieving a number of messages, categorizing at least one message from the number of messages into at least one category to create categorized messages, identifying a percentage, the percentage representing a portion of a display utilized for displaying the at least one category associated with the categorized messages, determining, based on the percentage, at least one of the categorized messages to present in the portion of the display, and presenting, in the portion of the display, the at least one of the categorized messages.

BACKGROUND

The present invention relates to displaying at least one categorizedmessage, and more specifically to displaying at least one categorizedmessages based on a percentage.

Networks include a number of servers such as mail servers. The mailservers store information for users. The information may be messagessuch as electronic mail (email). The messages may include text, data,images, digital media, or combinations thereof. The users may retrieve,via a user device, the messages from the mail server. Further, the userdevice displays the messages retrieved from the mail server to the uservia a display.

BRIEF SUMMARY

A method for displaying at least one categorized message based on apercentage includes retrieving a number of messages, categorizing atleast one message from the number of messages into at least one categoryto create categorized messages, identifying a percentage, the percentagerepresenting a portion of a display utilized for displaying the at leastone category associated with the categorized messages, determining,based on the percentage, at least one of the categorized messages topresent in the portion of the display, and presenting, in the portion ofthe display, the at least one of the categorized messages.

A system for displaying categorized messages based on a percentageincludes a retrieving engine to retrieve a number of messages, acategorizing engine to categorize at least one message from the numberof messages into at least one category to create categorized messages, areceiving engine to receive a policy, the policy representinginformation related to a percentage, an identifying engine to identifythe percentage, the percentage representing the portion of the displayutilized for displaying the at least one category associated with thecategorized messages, a determining engine to determine, based on thepercentage, at least one of the categorized messages to present in theportion of the display, and a presenting engine to present, in theportion of the display, the at least one of the categorized messages.

A computer program product includes a computer readable storage medium,the computer readable storage medium having computer readable programcode embodied therewith. The computer readable program code havingcomputer readable program code to categorize at least one message from anumber of messages into at least one category to create categorizedmessages, identify a percentage, the percentage representing a portionof a display utilized for displaying the at least one categoryassociated with the categorized messages, determine, based on thepercentage, at least one of the categorized messages to present in theportion of the display, and present, in the portion of the display, theat least one of the categorized messages.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings illustrate various examples of the principlesdescribed herein and are a part of the specification. The examples donot limit the scope of the claims.

FIG. 1 is a diagram of an example of a system for displaying at leastone categorized message based on a percentage, according to one exampleof the principles described herein.

FIG. 2 is a diagram of an example of a system for displaying at leastone categorized message based on a percentage, according to one exampleof the principles described herein.

FIG. 3 is a diagram of an example of a computer program product fordisplaying at least one categorized message based on a percentage,according to the principles described herein.

FIG. 4A is a flowchart of an example of a method for displaying at leastone categorized message based on a percentage, according to one exampleof principles described herein.

FIG. 4B is a flowchart of an example of a method for displaying at leastone categorized message based on a percentage, according to one exampleof principles described herein.

FIG. 5 is a diagram of an example of a number of messages to beretrieved from a server, according to one example of principlesdescribed herein.

FIG. 6 is a diagram of an example of a first presentation of a number ofmessages, according to one example of principles described herein.

FIG. 7 is a diagram of an example of a second presentation of a numberof messages, according to one example of the principles describedherein.

FIG. 8 is a diagram of an example of a system for displaying at leastone categorized message based on a percentage, according to theprinciples described herein.

Throughout the drawings, identical reference numbers designate similar,but not necessarily identical, elements.

DETAILED DESCRIPTION

The present specification describes a method and system for displayingcategorized messages based on a percentage, such that a user may view aspecific number of categorized messages per category in a portion of adisplay.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device, such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, or any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including anobject-oriented programming language such as Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computer,or entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatuses(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus, to produce a machine suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture, including instructions which implement aspectsof the function/act specified in the flowchart and/or blocks or blockdiagram.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

As mentioned above, users may retrieve, via a user device, messages froma server such as a mail server. The user device displays the messagesretrieved from the mail server to the user via a display. Further, themessages may be displayed, via the display, in an inbox, on a socialwall, through an activity stream, on a timeline, or on a user profile.The messages may be displayed via various methods. In an example, amethod displays most recent messages at a top of the display. In anotherexample, a method displays unread messages at the top of the display.

Often, hundreds of messages may be retrieved and displayed to a user.The methods above necessitate a user to manually traverse through allthe messages to select a message related to current activities. Manuallytraversing through all the messages may cause a user to spend additionaltime on low priority messages and may reduce the attention provided tohigh priority messages. As a result, manually traversing throughhundreds of messages may be a burdensome task for a user.

The principles described herein include a system and a method fordisplaying at least one categorized message based on a percentage. Asystem and method may include retrieving a number of messages,categorizing at least one message from the number of messages into atleast one category to create categorized messages, identifying apercentage, the percentage representing a portion of a display utilizedfor displaying the at least one category associated with the categorizedmessages, determining, based on the percentage, at least one of thecategorized messages to present in the portion of the display, andpresenting, in the portion of the display, the at least one of thecategorized messages. Such a system and method allow a user to viewcategorized messages in according to the percentage. As a result, thisaids the user to focus on more relevant messages.

In the specification and appended claims, the term “message” means databeing directed towards a user. In an example, a message may include datasuch as text, images, digital media, or combinations thereof. A messagemay be delivered synchronously or may be delivered asynchronously to auser. Further, a message may be stored on a system or server to beretrieved at an interval determined by the user. In an example, amessage may be delivered via a push system, where a sending systemdelivers the message to the user. In other examples, a message may bedelivered via a pull system, where a user retrieves messages from aserver or other sources.

In the specification and appended claims, the term “display” means amechanism for presenting categorized messages to a user. In an example,a display may be a monitor that displays a window management system. Thewindow management system may include a number of windows tosimultaneously display a variety of information to a user. A portion ofthe display may be used to present categorized messages. The portion ofthe display may contain a number of sections. Each section may be usedto present categorized messages associated with a category.

In the specification and appended claims, the term “categorizedmessages” means a grouping of a number of messages into at least onecategory. In an example, messages may be categorized in more than onecategory. A category may include a common topic or task. Further, acategory may include more than one categorized messages. As a result,categorized messages may indicate messages grouped according to a commontopic or task.

In the specification and appended claims, the term “section” means anarea within a portion of a display. In an example, a section may be acontiguous area of the display wherein categorized messages associatedwith a category are presented.

In the specification and appended claims, the term “policy” meansinformation that may be used to identify a percentage. The informationmay define the percentage, or may be used to influence a percentage.Further, a number of policies to be used to identify the percentage.

In the specification and appended claims, the term “portion of adisplay” means as an area of a display dedicated to presentingcategorized messages. A portion of a display may be displayed as awindow by a window manager, or may be displayed as a portion of awindow. A portion of a display may consume the entire display. In anexample, the portion of the display may be related to a percentage. Forexample, if the percentage is fifty percent, the portion of the displaymay be fifty percent of the entire display. Further, the portion of thedisplay may include a number of sections.

As used in the present specification and in the appended claims, theterm “a number of” or similar language may include any positive number,including one to infinity; zero not being a number, but the absence of anumber.

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present systems and methods. It will be apparent,however, to one skilled in the art that the present apparatus, systems,and methods may be practiced without these specific details. Referencein the specification to “an example” or similar language means that aparticular feature, structure, or characteristic described in connectionwith that example is included as described, but may not be included inother examples.

Referring now to the figures, FIG. 1 is a diagram of an example of asystem for displaying at least one categorized message based on apercentage, according to one example of principles described herein. Aswill be described below, a displaying system is in communication with anetwork to retrieve a number of messages. The displaying system furthercategorizes at least one of the messages from the number of messagesinto at least one category to create categorized messages. Thedisplaying system identifies a percentage, the percentage representing aportion of a display utilized for displaying the at least one categoryassociated with the categorized messages. The displaying systemdetermines, based on the percentage, at least one of the categorizedmessages to present in the portion of the display. The displaying systempresents, in the portion of the display, the at least one of thecategorized messages.

As illustrated in FIG. 1, the system (100) includes a server (112). Inone example, the server (112) may be a mail server. The server (112) maystore, in memory, a number of messages, such as electronic mail (email)for a user. In another example, the server (112) may receive messagesfrom a number of sources. The servers (112) may store the messages inmemory or on a device such as a hard disk drive. In yet another example,the server (112) may be a messaging server, providing a storage devicewherefrom a user may retrieve messages. As will be described below, thedisplaying system (110) may retrieve messages from the server (112).

As illustrated in FIG. 1, the system (100) includes a displaying system(110). The displaying system (110) is in communication with a network(106) to retrieve a number of messages. In one example, the messagerepresents email stored on the server (112). Further, the message mayinclude data to be delivered to the user. As will be described in otherparts of this specification, the displaying system (110) may retrieveseveral messages from the server (112).

The displaying system (110) further categorizes at least one messagefrom the number of messages into at least one category to createcategorized messages. Each of the categories may include common topics.In one example, the displaying system (110) may categorize the messagesinto two categories.

The displaying system (110) identifies a percentage, the percentagerepresenting a portion of a display (104) utilized for displaying the atleast one category associated with the categorized messages. In oneexample, the percentage may indicate seventy percent of the display(104) may be used to display categorized messages associated with afirst category in a first section of the portion of the display (104).Further, the percentage indicates thirty percent of the display (104)may be used to display categorized messages associated with a secondcategory in a second section of the portion of the display (104). Inanother example, the percentage may indicate sixty percent of thedisplay (104) may be used to display categorized messages associatedwith a first category in a first section of the portion of the display(104). Twenty-five percent of the display (104) may be used to displaycategorized messages associated with a second category in a secondsection of the portion of the display (104). Fifteen percent of thedisplay (104) may be used to display categorized messages associatedwith a third category in a third section of the portion of the display(104).

The displaying system (110) determines, based on the percentage, atleast one of the categorized messages to present in the portion of thedisplay. The displaying system (110) may determine a number ofcategorized messages associated with a category to be displayed. Thisdetermination may be made based on a number of factors. The number offactors may include the time the message was sent or received or ascoring to calculate an intended priority for the message.

Further, the displaying system (110) presents, in the portion of thedisplay, at least one of the categorized messages. The categorizedmessages may be presented in the sections associated with the portion ofthe display. The displaying system (110) may present the categorizedmessages using a variety of fonts, font sizes, colors, and margins. Thepresenting may present limited information about the categorizedmessage, which may include a link to the complete categorized message.

While this example has been described with reference to the displayingsystem being operated over the network, the displaying system may bestored and operated locally on a single machine. For example, thedisplaying system may be integrated into a user or client device, aserver, a database, other locations, or combinations thereof.

FIG. 2 is a diagram of an example of a system for displaying at leastone categorized message based on a percentage, according to one exampleof principles described herein. As will be described below, a displayingsystem is in communication with a network to retrieve a number ofmessages. The displaying system further categorizes at least one of themessages from the number of messages into at least one category tocreate categorized messages. The displaying system identifies apercentage, the percentage representing a portion of a display utilizedfor displaying the at least one category associated with the categorizedmessages. The displaying system determines, based on the percentage, atleast one of the categorized messages to present in the portion of thedisplay. The displaying system presents, in the portion of the display,the at least one of the categorized messages.

As illustrated in FIG. 2, the system (200) includes a server. The server(212) may be an email server, a social network server, an instantmessage server, message passing server, or other type of server.Further, the server (212) stores messages (213) such as email messages.In the example, the server (212) stores message A (213-1), message B(213-2), message C (213-3) and message D (213-4) as email messages. Aswill be described below, a displaying system (210) may retrieve themessages (213).

As illustrated, the system (200) includes a displaying system (210). Thedisplaying system (210) may contain a number of engines (214). Theengines (214) refer to a combination of hardware and programinstructions to perform a designated function. Each of the engines (214)may include a processor and memory. The program instructions are storedin the memory and cause the processor to execute the designated functionof the engine. As illustrated, the displaying system (210) includes aretrieving engine (214-1), a categorizing engine (214-2), a receivingengine (214-3), an identifying engine (214-4), a determining engine(214-5), and a presenting engine (214-6).

As mentioned above, the displaying system (210) includes a retrievingengine (214-1). The retrieving engine (214-1) retrieves a number ofmessages (213). In an example, the retrieving engine (214-1) mayinitiate communication with a server (212). In another example, theserver (212) may initiate communication with the displaying system (210)to deliver messages to the displaying system (210). In an example, theretrieving engine (214-1) may specify criteria for messages to beretrieved. In one example, the retrieving engine (214-1) may retrievemessages (213) that were delivered during a time period. The time periodmay be from a present time to a time a message was last retrieved.Further, the time period may be a specified time period, such asbeginning at midnight on a specific day and ending at midnight on aspecific day. In an example, the retrieving engine (214-1) may controlthe messages retrieved by transmitting criteria to the server (212), ormay control by retrieving a number of messages and then filtering themessages before further processing by the displaying system (210).

As illustrated, the displaying system (210) includes the categorizingengine (214-2). The categorizing engine (214-2) categorizes at least onemessage from the number of messages (213) into at least one category tocreate categorized messages. Each message (213) may be categorized basedon factors such as the sender, the subject of the message, and/or thecontent of the message. Attributes of each message may be comparedagainst attributes of a category. A message may also be compared againstprior messages that have been categorized. Further, a user may specifyattributes of messages (213) for a category to reclassify the messagesinto specific categories.

As mentioned above, the displaying system (210) includes a receivingengine (214-3). In an example, the receiving engine (214-3) receives apolicy, the policy containing information that may be used to identify apercentage. The policy may dictate the exact values of the percentage orthe policy may be used as a factor in identifying the percentage. In anexample, a single policy may be used to identify a percentage. Further,a number of policies may be used to identify a percentage. In anexample, the policies may be stored in memory on a user device (202),the displaying system (210), the server (212), or combinations thereof.Further, the policies may be associated with specific users. As aresult, the receiving engine (214-3) may receive policies for specificusers.

As illustrated, the displaying system (210) an identifying engine(214-4). The identifying engine (214-4) identifies a percentage, thepercentage representing a portion of a display (204) utilized fordisplaying the at least one of the categorized messages to present inthe portion of the display (204). In an example, a user may be limitedby an amount of information that can be displayed on the display (204).Further, a user device (202) may include a single display, or may use anumber of displays. A single display may be divided into a number ofsections, with each section emulating a physical display (204). Thepercentage may indicate a portion of a display (204), the display beingeither physical or virtual, for displaying categorized messagesassociated with a category. In one example, the user device (202) mayuse a window to emulate a display. In an example, the percentageindicates fifty percent of the entire display is dedicated to displayingthe categorized messages.

As mentioned above, the displaying system (210) includes a determiningengine (214-5). The determining engine (214-5) determines, based on thepercentage identified, at least one of the categorized messages topresent in the portion of the display. In an example, a category thathas more categorized messages associated with it than can be displayedin the portion of the display (204) may determine which of thecategorized messages are to be presented in the portion of the display(204). The determining engine (214-5) determines categorized messages todisplay based on the time the message (213) was sent, or on the messagesender.

As mentioned above, the displaying system (210) includes a presentingengine (214-6). The presenting engine (214-6) presents, in the portionof the display, at least one of the categorized messages. The presentingengine (214-6) may provide formatting to present a categorized messageon a display (204). The presenting engine (214-6) may present thecategorized messages in a format to allow the user's system (202) topresent the message in an aesthetically pleasing manner. As will bedescribed in other parts of this specification, the presenting engine(214-6) presents the categorized messages in sections associated withthe portion of the display. Each of the sections may be associated witha category.

An overall example of FIG. 2 will now be described. In one example, auser device (202) initiates a request to the displaying system (210) todisplay a number of messages to the user on the display (204). Thedisplaying system (210) invokes the retrieving engine (214-1). Theretrieving engine (214-1) retrieves message A (213-1), message B(213-2), message C (213-3), and message D (213-4). The categorizingengine (214-2) categorizes the message into two categories. Message A(213-1), message B (213-2), and message C (213-3) are associated with afirst category and message D (213-4) is associated with a secondcategory. The identifying engine (214-4) identifies a percentage. In anexample, the percentage represents a portion of the display (204) thateach section may use to display categorized messages. The first categorymay be allowed to consume seventy-five percent of the display (204) in afirst section of the portion of the display (204) and the secondcategory may be allowed to consume twenty-five percent of the display(204) in a second section of the portion of the display (204). Thedetermining engine (214-5) determines which of the categorized messagesfrom the number of categories displayed based on the number ofcategorized messages and the percentage. In this example, the displaypresents four categorized messages. The first category was identified toconsume seventy-five percent of the display (204) in the first section.As a result, three categorized messages may be displayed in the firstsection. The determining engine (214-5) determines which categorizedmessages are to be displayed. In this example, message A (213-1),message B (213-2), and message C (213-3) are displayed as categorizedmessages in the first category associated with the first section.Message D (213-4) is displayed as a categorized message in the secondcategory associated with the second section. The presenting engine(214-5) presents, in the portion of the display (204), message A(213-1), message B (213-2), and message C (213-3) as categorizedmessages in the first section. The presenting engine (214-5) presents,in the portion of the display (204) message D (213-4) as a categorizedmessage in the second section. More information about presentingcategorized messages in a portion of a display will be described inlater parts of this specification.

FIG. 3 represents a computing device for displaying at least onecategorized message based on a percentage, according to one example ofthe principles described herein. The computing device (300) for managingdata in a distributed computing environment may be implemented in anelectronic device. Examples of electronic devices include servers,desktop computers, laptop computers, personal digital assistants (PDAs),mobile devices, smartphones, gaming systems, and tablets, among otherelectronic devices.

The computing device (300) may be utilized in any data-processingscenario, including stand-alone hardware, mobile applications, acomputing network, or combinations thereof. Further, the computer (300)may be used in a computing network, a public cloud network, a privatecloud network, a hybrid cloud network, other forms of networks, orcombinations thereof. In one example, the methods provided by thecomputing device (300) are provided as a service over a network by, forexample, a third party. In this example, the service may comprise, forexample, the following: a Software as a Service (SaaS) hosting a numberof applications; a Platform as a Service (PaaS) hosting a computingplatform comprising, for example, operating systems, hardware, andstorage, among others; an Infrastructure as a Service (IaaS) hostingequipment such as, for example, servers, storage components, networks,and components, among others; application program interface (API), orcombinations thereof. The present systems may be implemented on one ormultiple hardware platforms, in which the modules in the system can beexecuted on one or across multiple platforms. Such modules can run onvarious forms of cloud technologies and hybrid cloud technologies oroffered as a SaaS (Software as a service) that can be implemented on oroff the cloud. In another example, the methods provided by the computingdevice (300) are executed by a local administrator.

To achieve its desired functionality, the computing device (300) mayinclude various hardware components. Among these hardware components maybe a number of processors (301), a number of displaying systems (302), anumber of peripheral device adapters (304), and a number of networkadapters (303). These hardware components may be interconnected throughthe use of a number of buses and/or network connections. In one example,the processor (301), displaying system (302), peripheral device adapters(304), and a network adapter (303) may be communicatively coupled via abus (305).

The displaying system (302) may store data, such as executable programcode, that is executed by the processor (301) or other processingdevice. As will be discussed, the displaying system (302) mayspecifically store computer code representing a number of applicationsthat the processor (301) executes to implement at least thefunctionality described herein.

The displaying system (302) may include various types of memory modules,including volatile and nonvolatile memory. For example, the displayingsystem (302) of the present example includes Random Access Memory (RAM)(306), Read Only Memory (ROM) (307), and Hard Disk Drive (HDD) memory(308). Many other types of memory may also be utilized, and the presentspecification contemplates the use of as many varying type(s) of memoryin the displaying system (302) as may suit a particular application ofthe principles described herein. In certain examples, different types ofmemory in the displaying system (302) may be used for different datastorage needs. For example, in certain examples, the processor (301) mayboot from Read Only Memory (ROM) (307), maintain nonvolatile storage inthe Hard Disk Drive (HDD) memory (308), and execute program code storedin Random Access Memory (RAM) (306).

Generally, the displaying system (302) may comprise a computer readablemedium, a computer readable storage medium, or a non-transitory computerreadable medium, among others. For example, the displaying system (302)may be, but is not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, ordevice, or any suitable combination of the foregoing. More specificexamples of the computer readable storage medium may include, forexample, the following: an electrical connection having a number ofwires, a portable computer diskette, a hard disk, a random access memory(RAM), a read-only memory (ROM), an erasable programmable read-onlymemory (EPROM or Flash memory), a portable compact disc read-only memory(CD-ROM), an optical storage device, a magnetic storage device, or anysuitable combination of the foregoing. In the context of this document,a computer readable storage medium may be any tangible medium that cancontain or store computer usable program code for use by, or inconnection with, an instruction execution system, apparatus, or device.In another example, a computer readable storage medium may be anynon-transitory medium that can contain or store a program for use by, orin connection with, an instruction execution system, apparatus, ordevice.

The hardware adapters (303, 304) in the computing device (300) enablethe processor (301) to interface with various other hardware elements,external and internal to the computing device (300). For example, theperipheral device adapters (304) may provide an interface toinput/output devices, such as, for example, a display device (309), amouse, or a keyboard. The peripheral device adapters (303) may alsoprovide access to other external devices, such as an external storagedevice, a number of network devices such as, for example, servers,switches, and routers, client devices, other types of computing devices,and combinations thereof.

The display device (309) may be provided to allow a user of thecomputing device (300) to interact with and implement the functionalityof the computing device (300). The peripheral device adapters (304) mayalso create an interface between the processor (301) and the displaydevice (309), a printer, or other media output devices. The networkadapter (303) may provide an interface to other computing deviceswithin, for example, a network, thereby enabling the transmission ofdata between the computing device (300) and other devices located withinthe network.

The computing device (300) may, when executed by the processor (301),display the number of graphical user interfaces (GUIs) on the displaydevice (309) associated with the executable program code, representingthe number of applications stored on the displaying system (302). TheGUIs may include aspects of the executable code, including displaying anumber of messages to a user. The GUIs may display, for example, fiftypercent of the messages from a first category and fifty percent of themessages from a second category. Additionally, a user may control thepercentage of the display in which messages from a category may bedisplayed. Examples of display devices (309) include a computer screen,a laptop screen, a mobile device screen, a personal digital assistant(PDA) screen, and a tablet screen, among other display devices (309).Examples of the GUIs displayed on the display device (309) will bedescribed in more detail below.

The computing device (300) may include a number of engines used in theimplementation of the management system for data in a distributedenvironment. The various modules within the computing device (300)comprise executable program code that may be executed separately. Inthis example, the various modules may be stored as separate computerprogram products. In another example, the various modules within thecomputing device (300) may be combined within a number of computerprogram products; each computer program product comprising a number ofthe modules.

The computing device (300) may include a retrieving engine (310) madeto, when executed by the processor (301), retrieve a number of messages.A categorizing engine (311) may categorize at least one of the messagesfrom the number of messages into at least one category to createcategorized messages. A receiving engine (312) may receive informationrelated to a percentage. An identifying engine (313) may identify apercentage, the percentage representing a portion of a display utilizedfor displaying the at least one category associated with the categorizedmessages. A determining engine (314) may determine, based on thepercentage, at least one of the categorized messages to present in theportion of the display. A presenting engine (316) may present, in theportion of the display, the at least one of the categorized messages.

The retrieving engine (310) may retrieve a number of messages from aserver (FIG. 2, 212). The retrieving engine (310) may provideinformation to the server (FIG. 2, 212) to identify the messages toretrieve.

The categorizing engine (311) may categorize at least one message from anumber of messages into at least one category to create categorizedmessages. The categorizing engine (311) may use policies, a messagesubject, information associated with the message, information associatedwith other categorized messages, the sender, or policy informationconfigured by a user, or similar information to categorize a message.

The receiving engine (312) may receive a policy, the policy representinginformation related to a percentage. The receiving engine (312) mayreceive the policy from a user, from a second user associated with theuser, or as a system wide policy. A system wide policy may serve as adefault policy for a user who has not provided a policy.

The identifying engine (313) may identify a percentage, the percentagerepresenting a portion of a display utilized for displaying the at leastone category associated with the categorized messages. The identifyingmodule (313) may identify the percentage based on a setting. The settingmay be represented as a configuration value for the system (300). Thesetting may be a policy structure that is used to identify thepercentage for a number of users. The setting may be a single numericvalue that is used in identifying the percentage. The setting may bestatically determined as part of the computer code that identifies thepercentage. The identifying engine (313) may identify the percentagebased on data associated with the number of messages. The identifyingengine (313) may identify percentages by analyzing informationassociated with a recipient.

The determining engine (314) may determine, based on the percentage, atleast one of the categorized messages to present in the portion of thedisplay. The determining engine (314) may consider factors, such as atimestamp, body of the message, and/or message metadata in determiningthe messages to present.

The presenting engine (315) may present, in the portion of the display,the at least one of the categorized messages. The presenting engine(315) presents, in the portion of the display, the at least onecategorized messages, by ordering the at least one of the categorizedmessages based on a timestamp.

Aspects of the present system and method are described herein withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products, according to examplesof the principles described herein. Each block of the flowchartillustrations and block diagrams, and combinations of blocks in theflowchart illustrations and block diagrams, may be implemented bycomputer usable program code. The computer usable program code may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the computer usable program code, when executed via,for example, the processor (301) of the computing device (300) or otherprogrammable data processing apparatus, implements the functions or actsspecified in the flowchart and/or block diagram block or blocks. In oneexample, the computer usable program code may be embodied within acomputer readable storage medium; the computer readable storage mediumbeing part of the computer program product. In one example, the computerreadable storage medium is a non-transitory computer readable medium.

FIG. 4A is a flowchart of an example of a method for displaying at leastone categorized message based on a percentage, according to one exampleof principles described herein. In one example, the method (400) may beexecuted by the displaying system (110) of FIG. 1. In other examples,the method (400) may be executed by other systems (i.e. system 200 orsystem 800). In this example, the method (400) includes retrieving (401)a number of messages, categorizing (402) at least one message from thenumber of messages into at least one category to create categorizedmessages, identifying (403) a percentage, the percentage representing aportion of a display utilized for displaying the at least one categoryassociated with the categorized messages, determining (404), based onthe percentage, at least one of the categorized messages to present inthe portion of the display, and presenting (405), in the portion of thedisplay, the at least one of the categorized messages.

As mentioned above, the method (400) includes retrieving (401) a numberof message. The retrieving (401) may retrieve messages from a server(FIG. 2, 212). The retrieving (401) may pass information to the server(FIG. 2, 212) to specify criteria indicating the messages to retrieve.Retrieving (401) the number of messages may include retrieving thenumber of messages based on a specific time period.

As mentioned above, the method (400) includes categorizing (402) atleast one message from the number of messages into at least one categoryto create categorized messages. The categorizing (402) may assign amessage to a single category, or may assign a message to a number ofcategories.

As mentioned above, the method (400) includes identifying (403) apercentage, the percentage representing a portion of a display utilizedfor displaying the at least one category associated with the categorizedmessages. Identifying (403) the percentage representing the portion ofthe display utilized for displaying the at least one category associatedwith the categorized messages includes calculating the percentage basedon a setting. The setting may include a minimum and/or maximumpercentage. If the percentage is above the maximum or below the minimum,the setting decreases or increases the percentage. For example, if theminimum is fifty percent and the method identifies the percentage asforty percent, the percentage is increased to fifty percent. If themaximum is eighty percent and the method identifies the percentage asninety percent, the percentage is decreased to eighty percent.Identifying (403) a percentage, the percentage representing a portion ofa display utilized for displaying the at least one category associatedwith the categorized messages includes calculating the percentage basedon data associated with the number of messages. The data associated withthe number of messages may include the recipient of the message.Further, the data associated with the number of messages may includedata associated with the recipient of the message.

As mentioned above, the method (400) includes determining (404), basedon a percentage, an at least one categorized message to present in theportion of the display. In an example, a percentage may indicate that asection associated with a category is to consume forty percent of theportion of the display.

As mentioned above, the method (400) includes presenting (405), in theportion of the display, the at least one of the categorized messages.The presenting (405) may format the messages using methods such asfonts, font size, colors, and layouts. The presenting (405), in theportion of the display, the at least one of the categorized messages mayfurther include ordering the at least one of the categorized messagesbased on a timestamp. The presenting (405), in the portion of thedisplay, the at least one of the categorized messages may furtherinclude presenting the at least one of the categorized messages via anumber of sections associated with the portion.

FIG. 4B is a flowchart of an example of a method for displaying at leastone categorized message based on a percentage, according to one exampleof principles described herein. In one example, the method (450) may beexecuted by the displaying system (FIG. 1, 110). In other examples, themethod (450) may be executed by other systems (i.e. system 200 or system800). In this example, the method (450) includes retrieving (411) anumber of messages, categorizing (412) at least one message from thenumber of messages into at least one category to create categorizedmessages, receiving (413) a policy, the policy representing informationrelated to a percentage, identifying (414) the percentage, thepercentage representing a portion of a display utilized for displayingthe at least one category associated with the categorized messages,determining (415), based on the percentage, at least one of thecategorized messages to present in the portion of the display, andpresenting (416), in the portion of the display, the at least one of thecategorized messages.

As mentioned above, the method (450) may include receiving (413) apolicy, the policy representing information related to a percentage. Themethod (450) may receive a single policy, or may receive a number ofpolicies. The policy received may include a number of categories,information on identifying messages for each category. The policy may bereceived from the network or the policy may be received from a user on asystem. The policy may allow a user of the system to alter thepresentation of the messages. The policy may provide informationallowing the method (450) to identify a percentage or the policy mayspecify the percentage.

FIG. 5 is a diagram of a number of messages on a server such as may beretrieved in one example of the principles described herein. As will bedescribed below, a server may store a number of messages. The messagesmay be associated with a message number, a message sender, and a messagesubject. Further, a retrieving engine may retrieve the messages.

As illustrated, a server (500) may store a number of messages. Thenumber of messages may be associated with a user. Further, each messagemay be associated with a message number (501), a message sender (502),and a message subject (503).

The message number (501) may indicate an identification numbercategorized by the system. The message number (501) may be categorizedbased on the order the message was received. Further, the message number(501) may be calculated by a message position in a queue on the server(500).

Further, a message may be associated with a message sender (502). Themessage sender (502) may indicate an email address of the sender thatinitiated the message. The message sender (502) may indicate sufficientcontact information for the user receiving the message to reply to thesender of the message.

Further, a message may be associated with a message subject (503). Themessage subject (503) may indicate a subject specified by the messagesender (502) to alert the recipient of the nature of the message.Further, the message subject (503) may indicate that a message is inresponse to a prior message.

As illustrated, message one (501-1) may be associated with sender A(502-1) and message subject one (503-1). Message two (501-2) may beassociated with sender A (502-2) and message subject two (503-2).Message three (501-3) may be associated with sender B (502-3) andmessage subject three (503-3). Message four (501-4) may be associatedwith sender C (502-4) and message subject four (503-4). Message five(501-5) may be associated with sender D (502-5) and message subject five(503-5). Message six (501-6) may be associated sender D (502-6) andmessage subject six (503-6). Message seven (501-7) may be associatedwith sender E (502-7) and message subject seven (503-7). Message eight(501-8) may be associated with sender F (502-8) and message subjecteight (503-8). Message nine (501-9) may be associated with sender G(502-9) and message subject nine (509-9). Message ten (501-10) may beassociated with message sender H (502-10) and message subject ten(503-10).

FIG. 6 is a diagram of a number of categorized messages to be displayedin one example of the principles described herein. As will be describedbelow, a number of categorized messages are presented in sections. Thesections may correspond with categories of the categorized messages.Further, all of the sections contribute to the portion of the display.

As illustrated, a display (600) includes a portion (610) of the display(600) that is used to present categorized messages. The display portion(610) includes a first section (612-1) and a second section (612-2). Thefirst section (612-1) presents categorized messages associated withcategory A. The second section (612-2) presents categorized messagesassociated with category B.

As mentioned above, the displaying system retrieves a number ofmessages. Further, a categorizing engine categorizes at least onemessage from the number of messages into at least one category to createcategorized messages. As illustrated, message one (601-1) is categorizedto category A (604-1). Message two (601-2) is categorized to category A(604-2). Message three (601-3) is categorized to category A (604-3).Message seven (601-7) is categorized to category A (604-7). Messageeight (601-8) is categorized to category A and B (604-8). Message nine(601-9) is categorized to category A (604-9). Message four (601-4) iscategorized to category B (604-4). Message five is categorized tocategory B (604-5). Message six (FIG. 5, 501-6) and message 10 (FIG. 5,501-10) are not presented. Message six (FIG. 5, 501-6) is categorized tocategory C. Message 10 (FIG. 5, 501-10) is categorized to category B.

The displaying system identifies a percentage, the percentagerepresenting a portion (610) of a display (600) utilized for displayingthe at least of the categorized messages to present in the portion (610)of the display (600). The first section (612-1) has been identified toconsume seventy-five percent of the portion (610) of the display (600)for the categorized messages associated with category A. The secondsection (612-2) has been identified to consume twenty five percent ofthe portion (610) of the display (600) for the categorized messagesassociated with category B.

Further, the displaying system determines, based on the percentageidentified, at least one of the categorized messages to present in theportion (610) of the display (600). In an example, the portion (610) ofthe display (600) is able to present eight categorized messages. Forexample, seventy-five percent of the categorized messages can bepresented in the first section (612-1). As a result, the first section(612-1) presents six categorized messages associated with category A.Twenty five percent of the categorized messages can be presented in thesecond section (612-2). As a result, the second section (612-2) presentstwo categorized messages associated with category B. The displayingsystem presents message one (601-1), message two (601-2), message three(601-3), message seven (601-7), message eight (601-8), and message nine(601-9) in a first section (612-1). Message four (601-4) and messagefive (601-5) are presented in a second section (612-2). Message six(FIG. 5, 501-6) and message ten (FIG. 5, 501-10) are not shown and havebeen determined not to be presented. By suppressing message ten (FIG. 5,501-10), the displaying system (FIG. 5, 501-6) can influence the amountof focus category B may receive. By suppressing message six (FIG. 5,501-6) the displaying system (FIG. 2, 210) may influence the amount offocus on category C.

FIG. 7 is a diagram of a number of messages that are displayed in oneexample of the principles described herein. As will be described below,a number of categorized messages are presented in sections. The sectionsmay correspond with categories of the categorized messages. Further, allof the sections contribute to the portion of the display.

As illustrated, a display (700) includes a portion (710) of the display(700) that is used to present categorized messages. The portion (710)includes a first section (712-1), a second section (712-2), a thirdsection (712-3), and a fourth section (712-4). The sections (712)present categorized messages associated with categories.

As mentioned above, the displaying system retrieves a number ofmessages. Further, a categorizing engine categorizes at least onemessage from the number of messages into at least one category to createcategorized messages. As illustrated, message one (701-1) is categorizedto category A (704-1). Message one (701-1) is categorized to category A(704-1). Message two (701-2) is categorized to category A (704-2).Message three (701-3) is categorized to category A (704-3). Messageseven (701-7) is categorized to category A (704-7). Message eight(701-8) is categorized to category A, B (704-8). Message nine (701-9) iscategorized to category A (704-9). Message four (701-4) is categorizedto category B 7604-4). Message five is categorized to category B(704-5). Message six (701-6) is categorized to category B (704-6).Message ten (701-10) is categorized to category C (704-10).

As mentioned above, the displaying system identifies a percentage, thepercentage representing a portion (710) of a display (700) utilized fordisplaying the at least one of the categorized messages to present inthe portion of the display (700). The first section (712-1) has beenidentified to consume sixty percent of the portion (710) of the display(700) for the categorized messages associated with category A. Thesecond section (712-2) has been identified to consume twenty percent ofthe portion (710) of the display (700) for the categorized messagesassociated with category B. The third section (712-3) has beenidentified to consume ten percent of the portion (710) of the display(700) for the categorized messages associated with category C. Thefourth section (712-3) has been identified to consume ten percent of theportion (710) of the display (700). The fourth section (712-3) has beenreserved for messages that are either not categorized, or are notdetermined to be presented in their category.

As mentioned above, the displaying system determines, based on thepercentage identified, at least one of the categorized message topresent in the portion (710) of the display (700). The portion (710) ofthe display (700) is capable of presenting ten categorized messages.Sixty percent of the categorized messages can be presented in the firstsection (712-1). As a result, the first section (712-1) presents sixcategorized messages associated with category A in the portion (710) ofthe display (700). Twenty percent of the categorized messages can bepresented in the second section (712-2). As a result, the second section(712-2) presents two categorized messages associated with category B inthe portion (710) of the display (700). Ten percent of the categorizedmessages can be presented in the third section (712-3). As a result, thethird section (712-3) presents one categorized message associated withcategory C in the portion (710) of the display (700). Ten percent of themessages can be presented in the fourth section (712-4) of the portion(710) of the display (700). The fourth section (712-4) is identified formessages that are not determined to be displayed in their categorizedcategory or are not categorized to any category. As a result, onehundred percent of the display is consumed by categorized messages.Message one (701-1), message two (701-2), message three (701-3), messageseven (701-7), message eight (701-8), and message nine (701-9) have beencategorized to category A, and are determined to be presented. Messageeight (701-8) is categorized to both category A and category B and isdetermined to be presented as part of category A in the first section(712-1). Message four (701-4) and message five (701-5) have beendetermined to be presented as part of category B in the second section(712-2). Message ten (701-10) is determined to be presented as part ofcategory C in the third section (712-3). Message six (701-6) was notdetermined to be presented as part of category B in the fourth section(712-4). Message six (701-6) is determined to be presented as part ofthe group of messages that was not determined to be presented with theircategorized category or were not assigned to a category.

As mentioned above, the displaying system presents, in the portion (710)of the display (700), at least one of the categorized messages. Asillustrated, message one (701-1), message two (701-2), message three(701-3), message seven (701-7), message eight (701-8), and message nine(701-9) are presented together in a first section (712-1). Message four(701-4) and message five (701-5) are presented together in the secondsection (712-2). Message ten (701-10) is presented in the third section(712-3). Message six (712-6) is presented in a fourth section (712-4).

FIG. 8 is a diagram of an example of a displaying system (800),according to the principles described herein. In this example, thedisplaying system (800) includes processing resources (802) that are incommunication with memory resources (804). Processing resources (802)include at least one processor and other resources used to processprogrammed instructions. The memory resources (804) generally representany memory capable of storing data, such as programmed instructions ordata structures used by the notifying system (800). The programmedinstructions shown stored in the memory resources (804) include amessage retriever (806), a message categorizer (808), a policy receiver(810), a percentage identifier (812), a presentation determiner (814),and a message presenter (816).

The memory resources (804) include a computer readable storage mediumthat contains computer readable program code to cause tasks to beexecuted by the processing resources (802). The computer readablestorage medium may be a tangible and/or physical storage medium. Thecomputer readable storage medium may be any appropriate storage mediumthat is not a transmission storage medium. A non-exhaustive list ofcomputer readable storage medium types includes non-volatile memory,volatile memory, random access memory, write only memory, flash memory,electrically erasable program read only memory, other types of memory,or combinations thereof.

The message retriever (806) represents programed instructions that, whenexecuted, cause the processing resource (802) to retrieve a number ofmessages. The message categorizer (808) represents programmedinstructions that, when executed, cause the processing resource (802) tocategorize the number of messages into a number of categories to createcategorized messages.

The policy receiver (810) represents programed instructions that, whenexecuted, cause the processing resource (802) to receive a policy, thepolicy representing information related to a percentage. The percentageidentifier (812) represents programed instructions that, when executed,cause the processing resource (802) to identify the percentage, thepercentage representing the portion of the display utilized fordisplaying the at least one category associated with the categorizedmessage.

The presentation determiner (814) represents programed instructionsthat, when executed, cause the processing resource (802) to determine,based on the percentage, at least one of the categorized messages topresent in the portion of the display. The message presenter (816)represents programed instructions that, when executed, cause theprocessing resource (802) to present, in the portion of the display, theat least one of the categorized messages.

The displaying system (800) of FIG. 8 may be part of a general purposecomputer. However, in alternative examples, the displaying system (800)is part of an application specific integrated circuit.

The preceding description has been presented to illustrate and describeexamples of the principles described. This description is not intendedto be exhaustive or to limit these principles to any precise formdisclosed. Many modifications and variations are possible in light ofthe above teaching.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operations of possible implementationsof systems, methods, and computer program products. In this regard, eachblock in the flowchart or block diagrams may represent a module,segment, or portion of code, which has a number of executableinstructions for implementing the specific logical function(s). Itshould also be noted that, in some alternative implementations, thefunctions noted in the block may occur out of the order noted in thefigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved. It will also be noted that each block of the block diagramsand/or flowchart illustration and combination of blocks in the blockdiagrams and/or flowchart illustration, can be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or combinations of special purpose hardware and computerinstructions.

The terminology used herein is for the purpose of describing particularexamples, and is not intended to be limiting. As used herein, thesingular forms “a,” “an” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willbe further understood that the terms “comprises” and/or “comprising,”when used in the specification, specify the presence of stated features,integers, operations, elements, and/or components, but do not precludethe presence or addition of a number of other features, integers,operations, elements, components, and/or groups thereof.

What is claimed is:
 1. A system for displaying messages, the system comprising: a processor to receive instructions from a memory and implement a set of engines comprising: a retrieving engine to receive messages; a receiving engine to receive a policy, the policy comprising: categories and a corresponding percentage for each category; a categorizing engine to categorize the messages into the categories of the policy wherein categorization is based on subject matter of the messages; an identifying engine to identify the percentage from the policy for each category containing a message; a determining engine to determine which messages of a first category to present in a first portion of the display, wherein the size of the first portion of the display is based on the percentage for the first category and to determine which messages of a second category to present in a second portion of the display, wherein the size of the second portion of the display is based on the percentage for the second category; and a presenting engine to present a first message of the first category in the first portion of the display and in the second category in the second portion of the display, wherein messages in different categories are presented in visually distinct formats.
 2. The system of claim 1, in which the identifying engine identifies the percentage based on a setting.
 3. The system of claim 1, in which the presenting engine presents, in the first portion of the display, messages secondarily sorted by timestamp.
 4. A computer program product for displaying a categorized message based on a percentage, the computer program product comprising: a tangible computer readable storage medium, said tangible computer readable storage medium comprising computer readable program code embodied therewith, said computer readable program code comprising program instructions that, when executed, causes a processor to: categorize a plurality of messages into categories to create categorized messages, wherein the categories are provided by a policy and categorization is based on a sender of the message; identify a percentage for each category containing a categorized message, the percentage representing a portion of a display utilized for displaying the categorized messages of the respective category; and present, in the display, categorized messages, wherein the categorized messages are displayed by category and each category of categorized messages occupies no more of the display than the percentage associated with the category, wherein a first categorized message is presented in multiple portions of the display and wherein different categories of messages are presented with different, visually distinct formats.
 5. The product of claim 4, further comprising computer readable program code comprising program instructions that, when executed, cause said processor to receive a policy, the policy representing information related to identifying the percentage.
 6. The product of claim 5, further comprising computer readable program code comprising program instructions that, when executed, cause said processor to calculate the percentage based on data associated with the number of messages.
 7. The product of claim 5, further comprising computer readable program code comprising program instructions that, when executed, cause said processor to calculate the percentage based on a setting.
 8. The product of claim 4 further comprising computer readable program code comprising program instructions that, when executed, cause said processor to request messages for a specific time period.
 9. The product of claim 4, further comprising computer readable program code comprising program instructions that, when executed, cause said processor to order the displayed categorized messages of a category by timestamp.
 10. The product of claim 4, wherein categorization is further based on receiver(s) of the message.
 11. The product of claim 4, where the different categories of messages are presented with different margins.
 12. The product of claim 4, wherein the different categories of messages are presented with different color text.
 13. The product of claim 4, wherein different categories of messages are presented with different fonts.
 14. A system for displaying messages by category, the system comprising: a processor with an associated memory, the processor implementing the following engines: a retrieving engine to receive messages; a receiving engine to receive a policy, the policy comprising a plurality of categories and a corresponding percentage for each category; a categorizing engine to categorize the messages into the plurality of categories forming categorized messages, wherein categorization is based on the subject line of the message; an identifying engine to determine, based on the policy, the corresponding percentage of the display for displaying categorized messages of each category containing a categorized message; a determining engine to determine, for categories with more messages than space to display all the messages of the category, which messages to display; and a presenting engine to present categorized messages by category in the display, where each category occupies the corresponding percentage of the display and the presenting engine formats categorized messages of different categories into visually distinctive formats, wherein a first message is categorized into multiple categories and the first message is displayed in multiple parts of the display.
 15. The system of claim 14, wherein the categorization is further based on sender of the message and content of the message. 